package code08_常用类.日期类;


import Util.DateUtil;

import java.util.Calendar;

/**
 * @author 黄衡熙
 * @version 1.0
 */
public class Test05_日历类 {

    public static void main(String[] args) {
        // 通过静态方法获取对象
        Calendar calendar = Calendar.getInstance();
        // 日历对象中包含了日期相关信息
        System.out.println(calendar);
        System.out.println("毫秒数:" + calendar.getTime().getTime());
        System.out.println("毫秒数:" + calendar.getTimeInMillis());
        System.out.println("日期:" + calendar.getTime());
        System.out.println(calendar.get(Calendar.YEAR));
        // 取值:0-11,0表示1月份,11表示12月份
        System.out.println(calendar.get(Calendar.MONTH) + 1);
        System.out.println(calendar.get(Calendar.DATE));
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println(calendar.get(Calendar.HOUR));
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
        System.out.println(calendar.get(Calendar.MINUTE));
        System.out.println(calendar.get(Calendar.SECOND));
        System.out.println("修改前的时间:" + DateUtil.toString(calendar.getTime()));
        calendar.set(Calendar.MONTH, 2);
        calendar.set(Calendar.DATE, 1);
        // 在日期操作中,支持运算
        // 此处的0表示天数,相当于1-1
        // 即:1号的前一天
        calendar.set(Calendar.DATE, 0);
        System.out.println("修改后的时间:" + DateUtil.toString(calendar.getTime()));
        // 该日期的后一天
        calendar.add(Calendar.DATE, 1);
        // 上一个月
        calendar.add(Calendar.MONTH, -1);
        System.out.println("计算后的时间:" + DateUtil.toString(calendar.getTime()));
        // 清空日期
        calendar.clear();
        System.out.println("纪元时间:" + DateUtil.toString(calendar.getTime()));

        calendar.set(Calendar.YEAR, 2025);
        calendar.set(Calendar.MONTH, 1);
        System.out.println(DateUtil.toString(calendar.getTime()));
        int day = calendar.getActualMaximum(Calendar.DATE);
        System.out.println("2025年2月份共有" + day + "天");

        System.out.println("2025年2月份共有" + DateUtil.getDay(2025, 2) + "天");
        System.out.println("2024年2月份共有" + DateUtil.getDay(2024, 2) + "天");
        System.out.println("2024年3月份共有" + DateUtil.getDay(2024, 3) + "天");
        System.out.println("2024年4月份共有" + DateUtil.getDay(2024, 4) + "天");

        System.out.println("*********************************");
        System.out.println("2025年2月份共有" + DateUtil.getDay2(2025, 2) + "天");
        System.out.println("2024年2月份共有" + DateUtil.getDay2(2024, 2) + "天");
        System.out.println("2024年3月份共有" + DateUtil.getDay2(2024, 3) + "天");
        System.out.println("2024年4月份共有" + DateUtil.getDay2(2024, 4) + "天");

    }

}